#include "fib_mod.h"
#include <gtest/gtest.h>

TEST(fib_mod_test, boundary_input)
{
    EXPECT_EQ(1, fib_mod(1, 3));
    EXPECT_EQ(1, fib_mod(2, 15));
    EXPECT_EQ(0, fib_mod(3, 2));
    EXPECT_EQ(3, fib_mod(4, 13));
    EXPECT_EQ(5, fib_mod(5, 14));
    EXPECT_EQ(8, fib_mod(6, 12));
    EXPECT_EQ(2, fib_mod(7, 11));

    EXPECT_EQ(56, fib_mod(4432, 77));
    EXPECT_EQ(3818, fib_mod(843579, 8943));
    EXPECT_EQ(31576, fib_mod(1323322, 45345));

    EXPECT_EQ(43753, fib_mod(18825555099925889, 60414));
}

